Encryption and decryption of visible codes for real time augmented reality views

ABSTRACT

A method of decrypting an encrypted message. The method comprises storing a wearer decryption code in a memory of a wearable mobile device having a head-worn augmented display which generates an augmented reality view for a wearer of the wearable mobile device, capturing using the wearable mobile device a video sequence including at least one frame imaging a visible code using an image sensor of the wearable mobile device, processing the video sequence to identify the visible code, decrypting the visible code using the wearer decryption code to create an decrypted content, and presenting the decrypted content on top of at least some of the visible code in the augmented reality view.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/893,731 filed on Feb. 12, 2018, which is a continuation of U.S.patent application Ser. No. 15/344,682 filed on Nov. 7, 2016, now U.S.Pat. No. 9,893,890, which is a continuation of U.S. patent applicationSer. No. 14/726,537 filed on May 31, 2015, now U.S. Pat. No. 9,490,983,which is a continuation of U.S. patent application Ser. No. 14/243,921filed on Apr. 3, 2014, now U.S. Pat. No. 9,049,469, which claims thebenefit of priority of U.S. Provisional Patent Application No.61/807,818, filed on Apr. 3, 2013. The contents of the aboveapplications are all incorporated by reference as if fully set forthherein in their entirety.

FIELD AND BACKGROUND OF THE INVENTION

The present invention, in some embodiments thereof, relates to wearablesystems and methods of using thereof and, more specifically, but notexclusively, to systems and methods for image enhancement and dataprivacy in wearable devices.

Wearable systems can integrate various elements, such as miniaturizedcomputers, input devices, sensors, detectors, image displays, wirelesscommunication devices as well as image and audio processors, into adevice that can be worn by a user. Such devices provide a mobile andlightweight solution to communicating, computing and interacting withone's environment. With the advance of technologies associated withwearable systems and miniaturized optical elements, it has becomepossible to consider wearable compact optical displays that augment thewearer's experience of the real world.

By placing an image display element close to the wearer's eye(s), anartificial image may be made to overlay the wearer's view of the realworld. Such image display elements are incorporated into systems alsoreferred to as “near-eye displays”, “head-mounted displays” (HMDs) or“heads-up displays” (HUDs). Depending upon the size of the displayelement and the distance to the wearer's eye, the artificial image mayfill or nearly fill the wearer's field of view. The HMD may be used toprovide an augmented reality experience.

SUMMARY OF THE INVENTION

According to some embodiments of the present invention, there isprovided a method of decrypting an encrypted visible code. The methodcomprises storing a wearer decryption code in a memory of a wearablemobile device having a head-worn augmented display presenting anaugmented reality view for a wearer of the wearable mobile device,capturing using the wearable mobile device a video sequence including atleast one frame imaging a visible code using an image sensor of thewearable mobile device, processing the video sequence to identify thevisible code, decrypting the visible code using the wearer decryptioncode to create an decrypted content, and presenting the decryptedcontent on top of at least some of the visible code in the augmentedreality view.

Optionally, the visible code is presented on a screen of a clientterminal.

More optionally, the wearer decryption code is forwarded to thehead-worn augmented display via a first network connection and thevisible code is forwarded to the client terminal via a second networkconnection; wherein the first and second network connections aredifferent network connections.

More optionally, the client terminal is a cellular device which isconnected to the wearable mobile device and used for establishing thefirst and second network connections.

Optionally, the presenting comprises tracking the location of thevisible code and relocating the decrypted content to remain on top of atleast some of the visible code in the augmented reality view.

Optionally, the visible code comprises a barcode.

Optionally, the visible code includes a cipher text and the wearerdecryption code is a key that determines a transformation of the ciphertext.

Optionally, the visible code includes a plain text and the wearerdecryption code is a key that determines a transformation of the plaintext.

Optionally, the method further comprises identifying a location of thehead-worn augmented display and performing the decrypting using thewearer decryption code according to the location.

More optionally, the visible code is a text of a member of a groupconsisting of a traffic sign, a billboard, and a shop board.

More optionally, the wearer decryption code is associated with atransaction benefit and the visible code comprises a text indicative ofa price of a product.

More optionally, the visible code comprises a text indicative of ahealth notice pertaining to a product offered for sale.

Optionally, the method further comprises receiving a wirelesslytransmitted message which contains the wearer decryption code.

Optionally, the method further comprises the processing is triggered bythe wirelessly transmitted message.

Optionally, the method further comprises transmitting a messageindicative of an identity of the wearer and wirelessly receiving thewearer decryption code in response to the message.

Optionally, the wearer decryption code is generated according to anInternational Mobile Station Equipment Identity (IMEI) of a cellulardevice that is paired with the wearable mobile device via.

According to some embodiments of the present invention, there isprovided a head-mounted display apparatus. The head-mounted displayapparatus comprises an image display device which generates an augmentedreality view for an observer, a wearing device with which the imagedisplay device is worn on a head of the observer, a memory which storesa wearer decryption code, an image sensor which captures a videosequence including at least one frame imaging a visible code, aprocessor, an image processing module which processes the video sequenceto identify the visible code, and a decrypting module which decrypts thevisible code using the wearer decryption code to create an decryptedcontent. The augmented reality view presents the decrypted content ontop of at least some of the visible code.

According to some embodiments of the present invention, there isprovided a method of decrypting an encrypted visible code. The methodcomprises forwarding, via a second network, a visible code to bepresented on a screen of a client terminal, forwarding, via a firstnetwork, a wearer decryption code to a wearable mobile device having ahead-worn augmented display presenting an augmented reality view whichincludes the screen for a wearer of the wearable mobile device,capturing a video sequence including at least one frame imaging thevisible code when presented on the screen, processing the video sequenceto identify the visible code, decrypting the visible code using thewearer decryption code to create an decrypted content, and presentingthe decrypted content on top of at least some of the visible code in theaugmented reality view.

Unless otherwise defined, all technical and/or scientific terms usedherein have the same meaning as commonly understood by one of ordinaryskill in the art to which the invention pertains. Although methods andmaterials similar or equivalent to those described herein can be used inthe practice or testing of embodiments of the invention, exemplarymethods and/or materials are described below. In case of conflict, thepatent specification, including definitions, will control. In addition,the materials, methods, and examples are illustrative only and are notintended to be necessarily limiting.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Some embodiments of the invention are herein described, by way ofexample only, with reference to the accompanying drawings. With specificreference now to the drawings in detail, it is stressed that theparticulars shown are by way of example and for purposes of illustrativediscussion of embodiments of the invention. In this regard, thedescription taken with the drawings makes apparent to those skilled inthe art how embodiments of the invention may be practiced.

In the drawings:

FIG. 1 is schematic illustration of a wearable computing device having ahead-worn augmented display that generates an augmented reality view foran observer, according to some embodiments of the present invention;

FIG. 2 is a functional block diagram of components of the wearablecomputing device, according to some embodiments of the presentinvention;

FIG. 3 is a flowchart of a method of generating an augmented realityview for a head-worn augmented display of a wearable computing device bydecrypting content from visible code(s) and presenting the content ontop of at least some of the visible code(s) and/or in associationtherewith, according to some embodiments of the present invention;

FIGS. 4A-4G are examples of optional visible codes, according to someembodiments of the present invention;

FIGS. 5A and 5B are, respectively, schematic illustrations of encryptedtext presented on a screen to a wearer of the wearable computing deviceand a the wearer's field of view that includes the decrypted contentpresented as an overlay on top of at least some of the encrypted text311, according to some embodiments of the present invention; and

FIGS. 6A and 6B are, respectively, schematic illustrations of a visiblecode printed on a box of a food product in a manner that is visible to awearer of the wearable computing device and a the wearer's field of viewthat includes the decrypted content, an heath notice, presented as anoverlay on top of the visible code, according to some embodiments of thepresent invention.

DESCRIPTION OF SPECIFIC EMBODIMENTS OF THE INVENTION

The present invention, in some embodiments thereof, relates to wearablesystems and methods of using thereof and, more specifically, but notexclusively, to systems and methods for image enhancement and dataprivacy in wearable computing devices.

According to some embodiments of the present invention there areprovided methods and systems of enhancing an augmented display of a worncomputing device with observer adapted data, for example personalizeddata, by using a wearer decryption code stored in the memory of the worncomputing device to decrypt content from a visible code or from dataassociated therewith.

In use, the content decrypted according to the visible code is presentedto the observer on top of at least some of the visible code. In such amanner, although the visible code is available to any human or camerawhich is in a line of sight therewith, only the observer who ispresented with the augmented display can perceive the data which isencoded by the visible code.

Optionally, the visible code is decrypted based on real time locationdata that is gathered by the wearable computing device and/or a devicepaired thereto. Optionally, the visible code is decrypted based on datafrom a data signal which is captured by the wearable computing deviceand/or a device paired thereto.

Optionally, the visible code is presented on a screen of a clientterminal, for example content that is available via a browser and/or anelectronic message reader. In such embodiments, the wearer decryptioncode and the visible code may be forwarded to the client terminal and tothe wearable computing device via separate networks and/or means. Insuch an embodiment, data which is presented by a tablet or a laptop canremain encrypted even when presented to the observer in a publiclocation and/or via an unsecured network.

Optionally, the wearer decryption code is a code, for example adecryption key that is associated with a certain user, for examplesubscriber, for instance based on a unique number, telephone number,identifier and/or the like. Optionally, the visual code is a label, abarcode, an image, plain text, and/or cipher text.

Before explaining at least one embodiment of the invention in detail, itis to be understood that the invention is not necessarily limited in itsapplication to the details of construction and the arrangement of thecomponents and/or methods set forth in the following description and/orillustrated in the drawings and/or the Examples. The invention iscapable of other embodiments or of being practiced or carried out invarious ways.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Reference is now made to FIG. 1 which is a schematic illustration of anexemplary wearable computing devices 100 each having a worn augmenteddisplay 101 that generates an augmented reality view for an observer, awearer of the wearable mobile device 100, according to some embodimentsof the present invention. The exemplary wearable computing devices 100may be connected via a network 105 to a network node, such as server140. Reference is also made to FIG. 2 which is a functional blockdiagram of components of the wearable computing device 100, according tosome embodiments of the present invention.

As used herein, decryption means any convention of the visible codeand/or data associated with the visible code using the wearer decryptioncode.

The augmented reality view includes an overlay or any other augmentationof private and/or personalized decrypted content generated using awearer decryption code based on a visible code that may be viewed by thewearer of the wearable mobile device 100 at a naked eye glance. Thevisible code may be a cipher text, a plain text, a barcode, an encryptedimage, an encrypted video and/or any visible content that may bedecrypted by one or more keys. Optionally, the visible code is decrypteddifferently by different wearer decryption codes to create a pluralityof different private and/or personalized decrypted content items. Insuch embodiments, the same visible code is decrypted to presentdifferent content to different observers, for example as describedbelow. Optionally, the visible code includes a machine readable portion,for example a machine readable tag, code and/or the like and a datapresentation area wherein decrypted content is about to be presentedafter the decryption. For example, the data presentation area may be anarea at the top left of the field of view of the wearer and/or an areahaving a uniform texture. The decrypted content may be adapted, interalia, to the age, the gender, the language knowledge, and/or any othercharacteristic of the observer.

The wearable computing device 100 includes a memory 102 which stores thewearer decryption code and an image sensor 103 which captures a videosequence including one or more frames imaging the visible code. Theimage sensor 103 is optionally mounted to capture some or all of thesurrounding currently viewed by the wearer, namely the wearer point ofview. The wearer decryption code may be referred to as a uniquedecryption code. The wearer decryption code may uniquely associate witha certain wearer.

The wearable computing device 100 includes an image processing module104 that processes the video sequence to identify the visible code and adecrypting module 105 which decrypts the visible code using the wearerdecryption code to create a decrypted content. This allows, as furtherdescribed below, to display an augmented reality view that presents thedecrypted content on top of at least some of the visible code. Thewearer decryption code is optionally a code that is generated for theobserver, for example associated with an identifier (ID) thereof, suchas a telephone number, email, ID number and/or the like. The decryptioncode may be a set of a plurality of decryption codes which for brevityreferred to herein as a decryption code. The decryption code may beupdated by a central server 120, either predictably, randomly or uponrequest, for example as described below. For instance, the centralserver 120 forwards updates and/or new decryption codes to the wearablecomputing devices 100 via an SMS, a WAP message, a TCP/IP message and/orthe like. The decryption code may be locally adapted by the wearablecomputing device 100, for example based on local unique data related tothe wearer, for example based on a biometric signature of the wearer,such as an image of a fingerprint, a pupil or other biological trait. Insuch embodiments, the central server 120 encodes the message with thedecryption code and the decryption code is decoded using the biometricsignature. Namely, in such embodiments, the decryption code is locallyprepared based on the biometric signature of the wearer, for example byinstructing the wearer to take an image of the biological trait,instructing the wearable computing device 100 to take an image of thebiological trait automatically, and/or the like. The decryption code isencoded by the central server using a similar image which is providedthereto in a secure.

The wearable computing device 100 optionally comprises a transceiver 107that is able to communicate, optionally via an access point, with one ormore network nodes 106, for example the central server 120 and/or otherserver(s) and/or database(s) via a communication network 105, forexample the internet, and/or directly via a client terminal, such as alaptop, a Smartphone, a tablet, and/or the like. The client terminal mayfunction as an access point. The transceiver 107 may be a cellularcommunication module a wireless local area network (WLAN) interface, forexample a Wi-Fi™ module. Additionally or alternatively, the wearablecomputing device 100 optionally comprises a direct communicationtransceiver 108 that is able to communicate in with a device havingproximate transmitter, for example a beacon and/or a wireless personalarea network (WPAN) unit and/or an optical sensor which detects opticalsignals, and/or an audio sensor which detects audible signals, forexample a microphone. The communication may be unidirectional orbidirectional.

The wearable computing device 100 may be connected to and/or includes ahandheld communication device, such as a cellular device, for example aSmartphone and/or a tablet. In such embodiments, some of the componentsof the wearable computing device 100, for example a processor 111, thetransceivers 108, 107 and/or the modules described below may be hostedby the handheld communication device.

The wearable computing device 100 may use the direct communicationtransceiver 108 and/or the transceiver 107 to receive a radio frequencysignal, e.g., Wi-Fi™ encoded message, Bluetooth™ encoded message, aradio frequency identification (RFID) tag presence, near fieldcommunication (NFC) message, an optical signal, such as an opticalsignal emitted by a visible or infrared light emitting diode (LED)device, and/or an acoustic signal, such as an ultrasonic signal.

The worn augmented display 101 may be a head-mounted display (HMD) thatpresents the wearer with an augmented reality view, allowing her toobserve a real-world surroundings and the decrypted content, for examplea computer-generated image, text, graphics, movie and/or the likesimultaneously. The decrypted content may be presented as an overlay ontop of some or all of the visual code.

The worn augmented display 101 may include an optical system mounted toa head-mounted support. The optical system may be operable to presentvirtual images overlaid upon a real-world view to a wearer. To display avirtual image to the wearer, the optical system may include a lightsource, such as a light-emitting diode (LED) configured to illuminate adisplay panel, such as a liquid crystal-on-silicon (LCOS) display panel.The display panel generates light patterns by spatially modulating thelight from the light source, and an image former forms a virtual imagefrom the light pattern.

In use, the wearable computing device 100 detects and identifies one ormore visible codes within the wearer's environment, for example by ananalysis of one or more frames in the sequence captured by the imagesensor 103 corresponding to the wearer's point-of-view. The detectedvisible code(s) is decrypted using the wearer decryption code to createa decrypted content that is presented on top at least some of thevisible code.

The decrypted content may include one or more reference(s) to a networkaccessible content, for example video, audio, graphical, and/or textualcontent that is available via the Uniform Resource Locator (URL). Insuch embodiment, the decrypted content includes data acquired using thereference(s). The content may be acquired using the direct communicationtransceiver 108 and/or the transceiver 107.

Optionally, the decrypted content is a script or a reference to a scriptthat loads an interactive man machine interface, for example a graphicaluser interface (GUI), for example includes combo boxes, navigationpanes, menus, and/or other user interface features that enable a wearerto invoke functions of the wearable computing device 100 and/or toinduce sending messages with instructions to a device associated withthe visible code. In such embodiments the GUI is placed one top of atleast some of the visible code.

Optionally, the wearable computing device 100 detects one or moresignals, optionally during the capturing and analysis of the sequence,for example using the direct communication transceiver 108 and/or thetransceiver 107. Optionally, in order to reduce power and computationalconsumption, the wearable computing device 100 triggers the processingof the sequence in response to the detection of the one or more signals.The signals may be a beacon signal and/or a signal received in responseto presence signal sent from the direct communication transceiver 108and/or the transceiver 107. Optionally, the decrypting of the visiblecode(s) depends on data from the signals, for example location data, avisible code identifier, and/or the like.

Optionally, the direct communication transceiver 108 and/or thetransceiver 107 transmit a message indicative of an identity of thewearer to trigger a beacon or another transmitting unit to transmit theabove signals. This allows wirelessly receiving the wearer decryptioncode in response to the message and/or to receive information which isused for creating the decrypted content.

Reference is now also made to FIG. 3 which is a flowchart 200 of amethod of generating an augmented reality view for a head-worn augmenteddisplay of a wearable computing device by decrypting content fromvisible code(s) and presenting the content on top of the visiblecode(s), according to some embodiments of the present invention. Themethod may be implemented using the wearable computing device depictedin FIGS. 1 and 2.

As shown at 201, a wearer decryption code is stored in a memory of awearable mobile device having a head-worn augmented display thatgenerates an augmented reality view for a wearer of the wearable mobiledevice, for example memory 102. The wearer decryption code is optionallya unique key for decrypting the visible code. The unique key may bestored as a file, a script, and/or a reference, such as a URL,optionally in an encrypted manner. The unique key may be installedoffline in the wearable mobile device and/or stored in a memory which isdisconnected from the main memory of the wearable mobile device, forbrevity referred to herein external memory, for example a memory cardthat is connected to the wearable mobile device and/or a subscriberidentification module (SIM) that is used by the wearable mobile device.

Optionally, the wearable mobile device is instructed to work in a nocommunication mode, for example a flight mode, when accessing the wearerdecryption code. For example, a verification module allows access to thewearer decryption code, which may be installed in an external memory,only when the wearable mobile device is in a flight mode.

As shown at 202, the wearable mobile device captures one or more framesand/or image(s) imaging one or more visible code(s) using an imagesensor of the wearable mobile device, for example 103. These frame(s)and/or image(s) are referred to herein, for brevity, as a videosequence. For example, the video sequence is captured by the imagesensor that is mounted to capture some or all of the scene currentviewed by the wearer of the wearable computing device 100.

As shown at 203, the video sequence is processed to identify the visiblecode. The visible code(s) may be a label, a code, plain text, a ciphertext, an image, and/or a video. The visible code(s) may be printed orotherwise fixated to an object and/or presented on a display, forexample a screen of a client terminal, a billboard, and/or a handhelddevice.

FIGS. 4A-4E depicts exemplary visible codes. FIG. 4A depicts an iconthat may be transformed to decrypted content based on data which isacquired via the network based on the location of the wearable mobiledevice 100. FIG. 4B depicts a barcode that include encrypted contentthat is decrypted using the wearer decryption code. FIG. 4C depicts a QRcode that include encrypted content that is decrypted using the wearerdecryption code. FIG. 4D depicts a trademark that may be transformed topersonalized decrypted content based on data which is acquired via thenetwork based on the location of the wearable mobile device 100 andusing the wearer decryption code. FIG. 4E depicts an encrypted contentthat may be transformed to personalized decrypted content by using thewearer decryption code to decrypt the visible code. FIG. 4F depicts anencrypted text in an email that may be transformed to personalizeddecrypted content by using the wearer decryption code to decrypt thevisible code. FIG. 4G depicts an encrypted text in a webpage that may betransformed to personalized decrypted content by using the wearerdecryption code to decrypt the visible code.

As shown at 204, the visible code is now decrypted using the wearerdecryption code to create a decrypted content, for example by theprocessor of the wearable mobile device.

Optionally, the wearer decryption code is a key that transforms ciphertext or plain text of the visible code to a decrypted content that ispresented, in an augmented reality view only to him. The decryptedcontent may be transformed according to symmetric-key algorithm and/orasymmetric-key algorithm, see for example N. Ferguson; B. Schneier(2003). Practical Cryptography. Wiley. ISBN 0-471-22357-3, J. Katz; Y.Lindell (2007). Introduction to Modern Cryptography. CRC Press. ISBN1-58488-551-3, A. J. Menezes; P. C. van Oorschot; S. A. Vanstone (1997).Handbook of Applied Cryptography. ISBN 0-8493-8523-7, IEEE 1363:Standard Specifications for Public-Key Cryptography, and Christ of Paar,Jan Pelzl, “Introduction to Public-Key Cryptography”, Chapter 6 of“Understanding Cryptography, A Textbook for Students and Practitioners”.(Companion web site contains online cryptography course that coverspublic-key cryptography), Springer, 2009, which are incorporated hereinby reference in its entirety.

Optionally, the wearer decryption code is an image decryption key thattransforms an image, for example according to a Chaotic Modulationalgorithm, for example see Xiping He Qionghua Zhang, “Image EncryptionBased on ChaoticModulation of Wavelet Coefficients”, Congress on IEEEImage and Signal Processing (CISP'08), Sanya, Hainan, Vol. 1, pp.622-626, 27 30-May 2008, Xin Zhang, Weibin Chen, “A New ChaoticAlgorithm For Image Encryption”, pp 889-892 IEEE ICALIP2008, Dongenxeng, Chen Zengqiang, Yuan zhuzhi, Chen zaiping, “A Chaotic ImagesEncryption Algorithm with The Key Mixing Proportion Factor”, pp 169-174Computer Society IEEE 200, Chong Fu, Zhen-chuan Zhang, Ying-yu Cao, “AnImproved Image Encryption Algorithm Based on Chaotic Maps”, ComputerSociety, IEEE 2007 and/or K. Sakthidasan, A New Chaotic Algorithm forImage Encryption and Decryption of Digital Color Images, InternationalJournal of Information and Education Technology, Vol. 1, No. 2, June2011, which are incorporated herein by reference in its entirety. Theimage may include a textual content, a graphical content and/or anyother two dimensional content.

Optionally, the wearer decryption code is a location based wearerdecryption code that changes based on geographical location information.In such embodiment, the wearable mobile device may acquire geographicallocation information, for example using a global positioning system(GPS) module or a cellular local positioning system, as shown at 205.This allows decrypting the same visible code differently at differentlocations, for example personalizing the experience of a user viewingthe same visible code, such as a logo and/or a label, in differentplaces in a different manner and/or using a certain visible code topresent encrypted location related information that may be decrypteddifferently for different wearers. In another example, the visible codeis placed on traffic signs and/or to be viewed from a road. In suchembodiments, the visible code may be used to present driving and/orwalking directions which are designated to the observer, for exampleguiding him to an event and/or a store. The visible code may beidentical along the road while the presented directions are differentand location dependent. In such a manner, the combination of thelocation and the visible code, when set to be decrypted using the wearerdecryption code, creates decrypted content such as personalizeddirections to a store and/or information about a sale for observerswhich have been identified as interested to purchase a certain productor service. The wearer decryption code may be remotely updated with arespective decryption script or function before and/or when the observeris identified in the respective location.

Optionally, as shown at 206, a data signal, for example a beacon signalas described above, is received. The data signal may be received beforeand/or during the capturing of the sequence. The reception of the datasignal may trigger the above processing of the sequence and/or betriggered by the detection of the visible code. Optionally, the datasignal includes a supporting code that maybe used, for example togetherwith the wearer decryption code from the memory of the wearablecomputing device, to decrypt the visible code. Additionally oralternatively, the data signal includes encrypted content that is set tobe decrypted by the wearer decryption code. In such embodiments, thevisible code may be used as a placement for presenting the decryptedcontent, either with or without encrypted content. Alternatively datasignal includes the wearer decryption code.

Optionally, as shown at 207, the decrypted content is presented on topof at least some of the visible code in the augmented reality view thatis presented to the observer. Optionally, the location of the visiblecode is tracked, for instance by continuously analyzing the videosequence. This allows maintaining the decrypted content on top of atleast some of the visible code in the augmented reality view, even ifthe observer changes her point of view. The tracking may be performed bydifferent imaging processing methods.

For example, the visible code is an encoded text, for example an encodedmessage, and the wearer decryption code is used to transform it to areadable text that is presented on top of the visible code, allowing theobserver to read the text using the wearable computing device 100 whilepeoples and/or cameras in his surrounding can view only the originaltext (cipher or plain) in the visible code. The user is presented withthe augmented reality view wherein the decrypted content is presented ontop of some or all of the cipher text or the plain text, for example amessage that is designed to her and/or to people from a certain group,for example having a certain membership, access rights, classificationand/or the like.

Optionally, the decrypted content is stored in the memory o the wearablecomputing device, for example for a predefined period of one minute, 30minutes, one hour and/or any intermediate or longer periods. In such amanner, the decrypted content can be presented to the wearer even if heturns his head from the visible code. Optionally, the decrypted contentis relocated to be presented at a corner and/or edge of the field ofview of the wearer. Optionally, the decrypted content is stored untildeleted. Optionally, the decrypted content is stored and immediatelydeleted to maintain a high security level. In such embodiments, anynumber of decrypted content items may be gathers and stored in thememory of the wearable computing device for future reference.Optionally, the wearer is required to gather a set and/or a sequence ofdecrypted content items for completing a multi stage process wherein hehad to view a number of different pages and/or to visit in a number ofdifferent locations. Optionally, the wearer is required to gather a setand/or a sequence of decrypted content items for completing stocktakingand/or for ensuring that a predefined number and/or a group of peoplehave been identified in a predefined period. In such embodiments,visible codes are used to mark or tag people and/or objects.

According to some embodiments of the present invention, the visible codeis presented on a screen of a client terminal. For example, FIGS. 5A and5B are, respectively, schematic illustrations of visible code, encryptedtext 311, that is presented on a screen to a wearer 313 of the wearablecomputing device 100 and a the wearer's field of view that includes thedecrypted content 312 presented as an overlay on top of the encryptedtext 311. As exemplified in FIG. 5A, the encrypted text 311 can beviewed by users who are located in the surrounding of the wearer 313;however, these users are not presented with the decrypted content thatis only presented to the wearer as part of the augmented reality viewwhich is presented thereto. In such embodiments, the wearer decryptioncode may be updated with a wearer decryption code that is sentseparately from the visible code, allowing the sender to add a layer ofdata protection to the sent content as the visible code is encoded andcannot be viewed without the wearer decryption code. For example, thevisible code is presented in a webpage and the wearer decryption code isforwarded to the wearable computing device 100 via a short messageservice (SMS), a wireless application protocol (WAP) connection, offlineinstallation, and/or the like. In another example, the visible code issent in an email and the wearer decryption code is forwarded to thewearable computing device 100 via an SMS, a WAP connection and/or thelike. Optionally, the wearable computing device 100 does not have anetwork connection, increasing the security of the wearer decryptioncode. Optionally, the wearer decryption code is sent by a peer to peerconnection, optionally after a verification session, for instance by alocal WPAN module or unit that is installed in proximity to the visiblecode, for instance a Bluetooth™ unit.

In the embodiments described above, the wearer decryption code isforwarded to the wearable computing device with the head-worn augmenteddisplay via a first network connection and the visible code is forwardedto the client terminal via a second network connection where the firstand second network connections are different network connections.

Optionally, the visible code is printed on, digitally presented onand/or otherwise fixated to a billboard, a price tag, and/or a shopboard. This allows an advertiser to present different personalizedcontent to different observers at the same time, without having oneobserver know about the personalized content of the other. In suchembodiments, different content is presented to different observers (i.e.customers), for example members of two consumer organizations arepresented with different transaction terms (i.e. price, payment terms,and/or availability) by providing them with different wearer decryptioncodes, for example sending the different wearer decryption codes beforeand/or during the identification of the visible code by the respectivewearable computing devices 100.

Additionally or alternatively, the wearer decryption code includesdecryption code associated with a transaction benefit to be presented ontop of a certain visible code. In such embodiments, the decryptedcontent is a text indicative of a benefit pertaining to transactionterms for a certain product. It should be noted that the visible codemay be presented in a webpage and the decrypted content includesinstructions of how to receive the benefit. In such embodiments,browsing users watching the same landing page may be presented withdifferent benefits (in this example) and/or other content (in similarembodiments).

Additionally or alternatively, the wearer decryption code includesdecryption code associated with a health notice pertaining to a productor service which is offered for sale and/or a certain location. Forexample FIGS. 6A and 6B are, respectively, schematic illustrations of avisible code 321 printed on a box of a food product 322 in a manner thatis visible to a wearer 323 of the wearable computing device 100 and athe wearer's field of view that includes the decrypted content 324, anheath notice, presented as an overlay on top of the visible code 321,according to some embodiments of the present invention. In such amanner, different health notices which are adapted to differentobservers can be presented. For example, different notices may bepresented to users at different age, gender, and/or the like. In oneexample, the visible code is printed on a medicine and/or a foodproduct, allowing presenting notices which are adapted to thesensitivities, language, allergies, and/or pathologies of the observer.

Additionally or alternatively, a plurality of visible codes in a certainfield of view of the wearer are imaged and analyzed, for example eachseparately as described above, to create a plurality of differentmessages and/or notices which are presented simultaneously in theaugmented reality view for a wearer of the wearable mobile device. Insuch a manner the wearer can compare between two different products, forexample according to related in information that is presented in therespective decrypted data, for example different health notices,promotional content, availability, and/or the like. Optionally, anautomatic comparison between the respective decrypted data is presentedto the wearer.

Additionally or alternatively, the wearer decryption code is associatedwith a current health profile of a wearer, for example as acquired froma health monitoring device, such as Jawbone UP™ and/or a softwaremodule, such as a dietary management module. In such embodiments, thevisible code may be translated using the wearer decryption code tocreate a personalized message indicative of the advisability for thewearer to consume the related product (e.g. a food product on which thevisible code is printed).

Additionally or alternatively, the wearer decryption code is associatedwith a current financial profile of a wearer, for example as acquiredfrom a bank website and/or a financial management module. In suchembodiments, the visible code may be or include a price tag translatedusing the wearer decryption code to create a personalized messageindicative of the advisability for the wearer to purchase the relatedproduct in light of his credit and/or periodical budget.

Optionally, the wearable computing device determines the appearance ofthe decrypted data from the perspective of the wearer's field of viewand adjusts the shape, size, and orientation of the decrypted data sothat it corresponds to the perspective appearance of the visible code.The wearable computing device may also determine the distance to thevisible code of the target device and adjust the apparent distance ofthe virtual control interface to match the distance to the defined area.

The wearable computing device may further recognize the wearer's motionswith respect to the decrypted content located on top of the visiblecode, for example according to the location of the wearer's hand inrelation to the visible code in the captured frame(s). For instance, thewearable computing device may recognize non-contact gestures towards theapparent position of the decrypted content as control instructions.

Optionally, the content to be presented from decrypting the visible codeis user defined. For example a wearer may define which information topresent and optionally with reference to which visible codes. In such amanner, the wearer indicates to receive certain information, for examplefrom certain databases and/or with certain characteristics, in responseto the detection of all or certain visible codes. For instance, thewearer may define presenting coupons of a certain product in response toa detection of a visible code representing the product, for example alabel. In such embodiments, the wearer decryption code includes afunction for instructing the acquiring of the coupons using a searchengine and/or a related reference, such as a link to a website.Optionally, a user interface allows the user to indicate to whichvisible codes data should be presented, for example a tool forencircling an icon or a symbol in an image.

The visible code may be printed on wearable items, tickets, tags and/orany other object, either temporarily or permanently.

According to some embodiments of the present invention, a wearerdecryption codes which are allocated to different wearable computingdevices are managed by a central server. The wearer decryption codes maybe updated to include new wearer decryption codes, cancelled and/oramended to assure security in case of wearable computing device loseand/or the like. The wearer decryption codes may be updated to decryptnew visible codes and/or to change the content which is associatedtherewith. The central server updates the central server be sendingmessages, during a wired and/or wireless sync process, for examplesimilar to an updating of a Smartphone and/or the like.

According to some embodiments of the present invention, there areprovided methods of operating one or more components, for examplesoftware components, of a wearable computing device, for exampleoperating a locking module and such wearable computing devices. Thewearable computing device is optionally as described above. The methodsare optionally user authentication methods wherein the identity of theuser is verified by the analysis of one or more biometric signatures ofthe wearer before operating the wearable computing device and/or usingsensitive information stored thereon, such as the wearer decryptioncode. For example, before operating the wearable computing device and/orusing and/or accessing sensitive information stored in the wearablecomputing device, one or more images and/or frames depicting one or morefingertips of the wearer are taken, for example using the image sensor103, optionally while the user wears the wearable computing device. Forexample, an image of one or more palms of the wearer may be analyzed toextract fingertips of the wearer. In other embodiments, the wearer imageone or more other body organs thereof, optionally in a predefined orderthat is set in advance, for example left elbow, right palm, left thumb,and left pinky and/or any other sequence of body organs and/or parts ofbody organs.

According to other embodiments of the present invention, beforeoperating the wearable computing device and/or using and/or accessingsensitive information stored in the wearable computing device, one ormore images and/or frames depicting one or more real world objects,optionally in a predefined order are captured. For example, a sequenceof images depicting real world objects, such as a chain of keys, acellular phone, and a watch has to be taken before a certain operationis unlocked. Optionally, the sequence combines one or more body organsand one or more real world objects.

In the above described embodiments, a sequence setting procedure whereina reference sequence is stored and used as a reference sequence ismanaged by the wearable computing device. The reference sequence maylater be used for creating a reference value(s) which are matched withimages and/or frames which are captured to unlock an operation and/orsoftware component and/or a hardware component of the wearable computingdevice. The methods as described above are used in the fabrication ofintegrated circuit chips.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

It is expected that during the life of a patent maturing from thisapplication many relevant methods and systems will be developed and thescope of the term a module, a unit and a network is intended to includeall such new technologies a priori.

As used herein the term “about” refers to ±10%.

The terms “comprises”, “comprising”, “includes”, “including”, “having”and their conjugates mean “including but not limited to”. This termencompasses the terms “consisting of” and “consisting essentially of”.

The phrase “consisting essentially of” means that the composition ormethod may include additional ingredients and/or steps, but only if theadditional ingredients and/or steps do not materially alter the basicand novel characteristics of the claimed composition or method.

As used herein, the singular form “a”, “an” and “the” include pluralreferences unless the context clearly dictates otherwise. For example,the term “a compound” or “at least one compound” may include a pluralityof compounds, including mixtures thereof.

The word “exemplary” is used herein to mean “serving as an example,instance or illustration”. Any embodiment described as “exemplary” isnot necessarily to be construed as preferred or advantageous over otherembodiments and/or to exclude the incorporation of features from otherembodiments.

The word “optionally” is used herein to mean “is provided in someembodiments and not provided in other embodiments”. Any particularembodiment of the invention may include a plurality of “optional”features unless such features conflict.

Throughout this application, various embodiments of this invention maybe presented in a range format. It should be understood that thedescription in range format is merely for convenience and brevity andshould not be construed as an inflexible limitation on the scope of theinvention. Accordingly, the description of a range should be consideredto have specifically disclosed all the possible subranges as well asindividual numerical values within that range. For example, descriptionof a range such as from 1 to 6 should be considered to have specificallydisclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numberswithin that range, for example, 1, 2, 3, 4, 5, and 6. This appliesregardless of the breadth of the range.

Whenever a numerical range is indicated herein, it is meant to includeany cited numeral (fractional or integral) within the indicated range.The phrases “ranging/ranges between” a first indicate number and asecond indicate number and “ranging/ranges from” a first indicate number“to” a second indicate number are used herein interchangeably and aremeant to include the first and second indicated numbers and all thefractional and integral numerals therebetween.

It is appreciated that certain features of the invention, which are, forclarity, described in the context of separate embodiments, may also beprovided in combination in a single embodiment. Conversely, variousfeatures of the invention, which are, for brevity, described in thecontext of a single embodiment, may also be provided separately or inany suitable subcombination or as suitable in any other describedembodiment of the invention. Certain features described in the contextof various embodiments are not to be considered essential features ofthose embodiments, unless the embodiment is inoperative without thoseelements.

Although the invention has been described in conjunction with specificembodiments thereof, it is evident that many alternatives, modificationsand variations will be apparent to those skilled in the art.Accordingly, it is intended to embrace all such alternatives,modifications and variations that fall within the spirit and broad scopeof the appended claims.

All publications, patents and patent applications mentioned in thisspecification are herein incorporated in their entirety by referenceinto the specification, to the same extent as if each individualpublication, patent or patent application was specifically andindividually indicated to be incorporated herein by reference. Inaddition, citation or identification of any reference in thisapplication shall not be construed as an admission that such referenceis available as prior art to the present invention. To the extent thatsection headings are used, they should not be construed as necessarilylimiting.

What is claimed is:
 1. A method of decrypting an encrypted visible code,comprising: storing a decryption code in a decryption code memory of amobile device having a main memory and a display presenting an augmentedreality view for a user of said mobile device; capturing using saidmobile device a video sequence including at least one frame imaging avisible code using an image sensor of said mobile device; processingsaid video sequence to identify said visible code; decrypting saidvisible code using said decryption code to create an decrypted content;and presenting said decrypted content on top of at least some of saidvisible code in said augmented reality view; wherein the decryption codememory is disconnected from the main memory.
 2. The method of claim 1,wherein said visible code is presented on a screen of another mobiledevice.
 3. The method of claim 2, wherein said decryption code isforwarded to said display via a first network connection and saidvisible code is forwarded to said another mobile device via a secondnetwork connection; wherein said first and second network connectionsare different network connections.
 4. The method of claim 3, whereinsaid mobile device is a cellular device used for establishing said firstand second network connections.
 5. The method of claim 1, wherein saidpresenting comprises tracking the location of said visible code andrelocating said decrypted content to remain on top of at least some ofsaid visible code in said augmented reality view.
 6. The method of claim1, wherein said visible code comprises a barcode.
 7. The method of claim1, wherein said visible code includes a cipher text and said decryptioncode is a key that determines a transformation of said cipher text. 8.The method of claim 1, wherein said visible code includes a plain textand said decryption code is a key that determines a transformation ofsaid plain text.
 9. The method of claim 1, further comprisingidentifying a location of said display and performing said decryptingusing said decryption code according to said location.
 10. The method ofclaim 9, wherein said visible code is a text of a member of a groupconsisting of a traffic sign, a billboard, and a shop board.
 11. Themethod of claim 9, wherein said decryption code is associated with atransaction benefit and said visible code comprises a text indicative ofa price of a product.
 12. The method of claim 9, wherein said visiblecode comprises a text indicative of a health notice pertaining to aproduct offered for sale.
 13. The method of claim 1, further comprisingreceiving a wirelessly transmitted message which contains saiddecryption code.
 14. The method of claim 13, wherein said processing istriggered by said wirelessly transmitted message.
 15. The method ofclaim 1, further comprising transmitting a message indicative of anidentity of said user and wirelessly receiving said decryption code inresponse to said message.
 16. The method of claim 1, wherein saiddecryption code is generated according to an International MobileStation Equipment Identity (IMEI) of a cellular device that is pairedwith said mobile device.
 17. The method of claim 1, wherein saiddecryption code memory is a memory card connected to the mobile device.18. The method of claim 1, wherein said decryption code memory is asubscriber identification module (SIM) memory.
 19. A mobile devicecomprising: a display which generates an augmented reality view for anobserver; a main memory; a decryption code memory disconnected from themain memory and stores a decryption code; an image sensor which capturesa video sequence including at least one frame imaging a visible code;and a processor executing a code for: processing said video sequence toidentify said visible code, and decrypting said visible code using saiddecryption code to create an decrypted content; wherein said augmentedreality view presents said decrypted content on top of at least some ofsaid visible code.
 20. A method of decrypting an encrypted visible code,comprising: at a mobile device having, a main memory, a decryption codememory, and a display: receiving, via a first network, a decryption codeand storing it in a decryption code memory; capturing a video sequenceimaging a visible code presented on a screen of another mobile device;presenting to a user an augmented reality view which includes thevisible code presented on the screen of the another mobile device;storing the decryption code in the decryption code memory; processingsaid video sequence to identify said visible code; decrypting saidvisible code using said decryption code to create an decrypted content;and presenting said decrypted content on top of at least some of saidvisible code in said augmented reality view; wherein the decryption codememory is disconnected from the main memory.